//Copyright (C) 2012 Chirila Alexandru
//This file is part of Mirror FTP
//
//Mirror FTP is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//Mirror FTP is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with Mirror FTP.  If not, see <http://www.gnu.org/licenses/>.

#ifndef MODEL_H_
#define MODEL_H_

#include "observer.h"

using namespace std;

/*
 * Provides interface for the model in the Observer Template
 */
class model {
private:
	observer *obs;	///<observer
public:
	model();
	~model();
	void set_observer(observer *o){obs=o;};
	observer* get_observer();
	void notify(string x);
	void notify_f(string x);
	void notify(long long time,int speed,long long eta);
	void notify();
};

#endif /* MODEL_H_ */
